# -*- coding: utf-8 -*-
"""
Created on Thu Nov 12 20:19:33 2020

@author: 82559
"""
import random

def initialiteMarket():
    print("Hello World!")


"""
价格变化函数
传入参数：
currentP：当前价格
demand：需求区域格子个数，设置为3200个
supply：供给，本公司格子个数
"""
competitiveLocation = []
def calculatePrice(currentP,demand,supply):
    a = 0.5 #价格系数
    nextP = currentP * (1 + a * (demand  - supply) / demand)
    return nextP


"""
计算盈余函数
gezi:本公司格子个数
juli:公司所有格子到中心距离
"""
def calculateSurplus(shoujia,danweijulijiage,juli,gezi):
    Surplus =(shoujia -(danweijulijiage*juli))/gezi
    return Surplus


"""
设置失败者属性为初始格子属性
"""
def losersDie():
    print("Hello World!")
    
    

"""
得出竞争集函数
"""
def gainCompetitiveSet():
    print("gainCompetitiveSet")
  
    
    
"""
1、扩散
2、得出竞争集
3、竞争失败要死亡，扩散成功要将新格子设置为本公司对应的属性
"""
def diffusion():
    print("Hello World!")
   
  
   
"""
1、繁殖：多一个同类
2、得出竞争集
"""   
def reproduction():
    print("Hello World!")
  
    

"""
添加4个agent
"""
def immigrate():
    print("Hello World!")



t = 0
while t < 2000:
    initialiteMarket()
    calculatePrice()
    if calculateSurplus() < 0:
        if random.random() > 0.9: #盈余小于0后，0.1的概率死亡
            losersDie()
        else:
            diffusion()
           
    else:                           #盈余大于0后
        reproduction()
    immigrate()
    t = t + 1
    